﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoBanco
    {
        public Banco Inserir(Banco banco, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(banco, usuarioPermissao);
        }

        public Banco Atualizar(Banco banco, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(banco, usuarioPermissao);
        }

        public void Excluir(Banco banco, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(banco, usuarioPermissao);
        }

        public Banco ObterBancoPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterBancoPorId(id, usuarioPermissao);
        }

        public IList<Banco> ObterTodosBancos(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosBancos(usuarioPermissao);
        }

        public IList<Banco> ObterTodosBancos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string codigoCompensacao, string descricao, DateTime? inicioDeVigenciaDe, DateTime? inicioDeVigenciaAte, DateTime? fimDeVigenciaDe, DateTime? fimDeVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosBancos(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigoCompensacao, descricao, inicioDeVigenciaDe, inicioDeVigenciaAte, fimDeVigenciaDe, fimDeVigenciaAte);
        }

        public IList<Banco> ObterPorCodigo(string codigo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterBancoPorCodigo(codigo, usuarioPermissao);
        }
    }
}